package com.eliza.kotlin.design.structure.proxy.jdk_proxy

import com.eliza.ktor.all.library.utils.ToolsLog

/**
 * @version v1.0
 * @ClassName: Client
 * @Description: TODO(一句话描述该类的功能)
 * @Author: 黑马程序员
 */
object Client {
    @JvmStatic
    fun main(args: Array<String>) {
        //获取代理对象
        //1,创建代理工厂对象
        val factory = ProxyFactory()
        //2,使用factory对象的方法获取代理对象
        val proxyObject = factory.proxyObject
        //3,调用卖调用的方法
        proxyObject.sell()
        ToolsLog.LogPrintln(proxyObject.javaClass, 6)

        //让程序一直执行
//        while(true) {}

        val proxyObject1 = ProxyFactory2().getProxyObject()
        proxyObject1.sell()
        ToolsLog.LogPrintln(proxyObject1.javaClass, 5)


    }
}